'use client'; import { use } from 'react'; import { useDonationHub } from '@/hooks/useDonationHub'; import './style.scss'; type Props = { params: Promise<{ widgetToken: string }>; }; const DEFAULT_ICON = '/images/default-avatar.png'; export default function CrewLeaderboardPage({ params }: Props) { const { widgetToken } = use(params); const hubUrl = process.env.NEXT_PUBLIC_API_URL + '/hubs/donation'; const { crewRanking } = useDonationHub(widgetToken, hubUrl); return (
크루 리더보드
{crewRanking.length === 0 && (
크루 데이터 대기 중...
)} {crewRanking.map(item => { const rankClass = item.rank <= 3 ? `crew-rank-${item.rank}` : ''; const topClass = item.rank <= 3 ? `top-${item.rank}` : 'top-default'; return (
{item.rank}
{item.nickname}
{item.nickname}
{item.channelName &&
{item.channelName}
}
{item.totalAmount.toLocaleString()}원
{item.contributionRate.toFixed(1)}%
); })}
); }